Multi-scale segmentation and partial matching 3d models

ABSTRACT

A scale-Space feature extraction technique is based on recursive decomposition of polyhedral surfaces into surface patches. The experimental results show that this technique can be used to perform matching based on local model structure. Scale-space techniques can be parameterized to generate decompositions that correspond to manufacturing, assembly or surface features relevant to mechanical design. One application of these techniques is to support matching and content-based retrieval of solid models. Scale-space technique can extract features that are invariant with respect to the global structure of the model as well as small perturbations that 3D laser scanning may introduce. A new distance function defined on triangles instead of points is introduced. This technique offers a new way to control the feature decomposition process, which results in extraction of features that are more meaningful from an engineering viewpoint. The technique is computationally practical for use in indexing large models.

This Application is a continuation of U.S. patent application Ser. No.13/185,532, filed on Jul. 19, 2011, which is a continuation of U.S.patent application Ser. No. 11/847,942 filed Aug. 30, 2007, now U.S.Pat. No. 8,015,125, the contents of which are incorporated herein byreference.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This work was made with Government support under Contract No.HS-0456001, awarded by the Library of Congress' National DigitalInformation Infrastructure and Preservation Program (NDIIPP) through theNational Science Foundation (NSF) DIGARCH Program, Contract no.CISE/IIS-9733545 career award awarded by the NSF, and Contract No.N00014-01-1-0618 awarded by the Office of Naval Research. The Governmenthas certain rights in the invention.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to the field of solid model classification andsearching. In particular it relates to a method and system forclassifying and searching solid models using a learning algorithm.

2. Description of the Related Technology

In order to perform content-based indexing and retrieval of 3D objects,each model must be converted into some collection of features. Previousresearch on model matching and retrieval has drawn on featuredefinitions from mechanical design, computer graphics and computervision literature. Many of these feature-based techniques ultimately usevertex-labeled graphs, whose nodes represent 3D features (or theirabstractions) and whose edges represent spatial relations orconstraints, between the features. Retrieval and matching is done usingsome variation of graph matching to assign a numerical value describingthe distance between two models.

The computer vision research community has typically viewed shapematching as a problem in 2D [11, 12, 13, 14]. These efforts address adifferent aspect of the general geometric/solid model matchingproblem—one in which the main technical challenge is the construction ofthe models to be matched from image data obtained by cameras.

This has changed in the past several years with the ready availabilityof 3D models (usually meshes or point clouds) generated from range andsensor data. Thompson et al. [15, 16] reverse engineered designs bygenerating surfaces and machining feature information from range datacollected from machined parts. Jain et al. [17] indexed CAD data basedon the creation of “feature vectors” from 2D images. Sipe, Casasent andTalukder [18, 19] used acquired 2D image data to correlate real machinedparts with CAD models and performed classification and pose estimation.

There are numerous surveys of feature recognition techniques for CAD [2,3]; and similarity assessment of 3D models using feature extraction hasbeen addressed [4, 5, 6]. These techniques use an exact representation,as is obtained from a CAD system (i.e., a 3D, watertight boundaryrepresentation). However, these representations are proprietary, andtheir internals vary from system to system. Feature-based descriptionsof models also vary by system. Hence, CAD search tools that can performsemantically effective searches using “the lowest common denominator”(e.g., shape) representation are desirable.

Matching 3D shape representations has been widely studied in graphics[7], computer vision [8] and engineering [9]. When shape representationshave been used with CAD data, there have been two major shortcomings.First, the current generation of matching techniques has difficultyhandling the approximate representations (i.e., polyhedral mesh, pointcloud, etc.) that are needed to find sub-patterns in objects or handledata created by 3D scanners. With a few notable exceptions, mostresearchers assume watertight VRML or shape models. Second, and moreimportantly, the current generation of search techniques almostexclusively focus on gross or overall shape. In the context of CAD,local features and feature patterns contribute considerably tomanufacturing cost, selection of manufacturing processes, produceabilityand functional parameters of 3D objects. Many objects with similar grossshape can have vastly different functions, costs or manufacturingprocess specifications.

Once objects are recognized, they can be segmented, decomposed andmatched. Matching is frequently accomplished by encoding objects andtheir decompositions as a graph and analyzing across different graphstructures to identify similarity. Graphs and their generalizations areamong the most common combinatorial structures in computer science, duein large part to the number of areas of research in which they areapplicable. Nayar and Murase extended this work to general 3D objectswhere a dense set of views was acquired for each object [21].Eigen-based representations have been widely used in many areas forinformation retrieval and matching as they offer greater potential forgeneric shape description and matching. In an attempt to index into adatabase of graphs, Sossa and Horaud use a small subset of thecoefficients of the d2-polynomial corresponding to the Laplacian matrixassociated with a graph [22], while a spectral graph decomposition wasreported by Sengupta and Boyer for the partitioning of a database of 3Dmodels, in which nodes in a graph represent 3D surface patches [23].

With the ready availability of 3D models from graphics programs and CADsystems, there has been a substantial amount of activity on 3D objectrecognition and matching in the past 20 years. This body of relevantwork is too large to survey in detail in this patent application.Several recent survey papers [8, 9, 7] covers the related work.

Shape-based approaches usually work on a low-level point cloud, mesh orpolyhedral model data, such as that produced by digital animation toolsor acquired by 3D range scanners. Approaches based on facetedrepresentations include that of Osada et al. [30], which creates anabstraction of the 3D model as a probability distribution of samplesfrom a set of shape functions acting on the model. Hilaga et al. [31]present a method for matching 3D topological models usingmulti-resolution Reeb graphs. A variant on this is proposed in [32]. Acurrent trend, being pursued by several groups, is the use of differenttypes of shape descriptors (harmonics, Zernike, etc.) to capture shapeinvariants [33, 34, 35, 36]. The Princeton 3D shape database [37]contains mainly models from 3D graphics and rendering; none of thesemodels are specifically engineering, solid modeling or mechanical CADoriented.

In general, however, shape matching-based approaches only operate on thegross-shape of a single part and do not operate directly on solid modelsor consider semantically meaningful engineering information (i.e.,manufacturing or design features, tolerances). Retrieval strategies areusually based on a query-by-example or query-by-sketch paradigm. Unlikeshape models, for which only approximate geometry and topology isavailable, solid models produced by CAD systems are represented byprecise boundary representations. When comparing solid models of 3D CADdata, there are two basic types of approaches for content-based matchingand retrieval: (1) feature-based techniques and (2) shape-basedtechniques. The feature-based techniques [38, 2, 39, 3, 40], going backat least as far as 1980 [41], extract engineering features (machiningfeatures, form features, etc.) from a solid model of a mechanical partfor use in database storage, automated group technology (GT) partcoding, etc. graphics. These techniques leverage the ready availabilityof 3D models on the Internet.

Historically Group Technology (GT) coding was the way to index parts andpart families [42]. This facilitated process planning and cell-basedmanufacturing by imposing a classification scheme (a human-assignedalphanumeric string) to individual machined parts. While there have beena number of attempts to automate the generation of GT codes [43, 44,45], transition to commercial practice has been limited.

The idea of similarity assessment of 3D models using feature extractiontechniques has been discussed [2, 3]. These techniques assume the exactrepresentation (i.e., boundary representation or “B-rep”) for the inputmodels and therefore cannot be used if only an approximaterepresentation (i.e., polyhedral mesh) is available. This is a majorshortcoming, especially in designing an archival system, where one mayrequire partial and inexact matching.

There has been recent work on partial matching in the context of 3Ddata. For instance, Funkhouser et al. successfully employed shape-basedsearch in [46] for 3D models with parts of those models matching aquery. In addition, Cornea et al. used approach for many-to-manymatching of skeletons of 3D objects in [47] to perform retrieval onthose objects. Elinson et al. [48] used feature-based reasoning forretrieval of solid models for use in variant process planning. Cicirelloand Regli [49, 5, 4] examined how to develop graph-based data structuresand create heuristic similarity measures among artifacts based onmanufacturing features. McWherter et al. [50] integrated these ideaswith database techniques to enable indexing and clustering of CAD modelsbased on shape and engineering properties. Other work from theengineering community includes techniques for automatic detection ofpart families [51] and topological similarity assessment of polyhedralmodels [52].

Comparing CAD models based on their boundary representations can bedifficult due to variability in the underlying feature-basedrepresentations. Additional complications are created by differencesamong the boundary representations used by systems (i.e., some may useall NURBS, some may use a mix of surface types, etc). Using ashape-based approach on voxels, meshes or polyhedral models generatedfrom native CAD representations is one way of reducing these problems.

The 3D-Base Project [53, 54] used CAD models in a voxel representation,which were then used to perform comparisons using geometric moments andother features. Shape classification, scale-space decomposition andclassification learning are addressed in recent works [55, 56, 57, 58].

Work out of Purdue [59, 60, 61] has improved on the voxel methods of[53, 54], augmenting them with skeletal structures akin to medial axesor shock graphs. The main accomplishment of the Purdue group is gettingthese shape-only techniques in a system for query by example.

Despite the many variations on these concepts, there remains a need forimprovements in the methods and systems employed for solid modelclassification and searching.

SUMMARY OF THE INVENTION

According to a first aspect of the invention, there is a provided amethod employing a scale-space decomposition technique to automaticallydecompose a 3D model into structurally relevant components according toparameters. These decompositions can be parameterized with a measurefunction, resulting in different components and features. This allowsthe performance of efficient comparisons (using well studiedtree-matching algorithms) of 3D models in terms of the similarity ofunderlying features. Different measure functions are created to tailordecompositions toward feature sets tuned to answer specific questions(i.e., cost, manufacturing process, shape, etc).

According to a second aspect of the invention, the method is used toimprove the performance consistency of scanned data. Most existing workon shape and solid matching assumes an ideal world with watertightmodels and no inaccuracies or perturbations (normally introduced throughscanning). The reality is that objects may not be perfect, this isespecially true when trying to examine 3D models acquired by laserscanning or other means (i.e., image, inspection probes, etc). In thiscontext, one needs to be able to compare the noisy acquired data toother noisy data or to the exact geometry data that exists in a databaseof CAD (Computer-Aided Design) models. The multi-scale technique hasshown consistency in its performance on scanned data, both withsynthetic perturbations (simulation of scanning process) as well as withrespect to the actual inaccuracy introduced through laser scanning.Hence, models can be effectively matched across representations.

According to a third aspect of the invention, the method employs apartial matching technique. Partial matching is a major open problem in3D indexing and matching. It manifests itself in several ways. Mostevident is that acquired data is rarely complete. For example, occlusionprevents scanners from getting interior points of holes and otherfeatures. In addition, obtaining a “complete” scan is time consuming,requiring manual re-positioning of objects on the scanning apparatus and(quite often) manual registration of the point set data acquired bythese scans. In the most basic case, the scanned data may consist ofonly one “view” of the model—resulting in a set of points on the 2Dmanifold in 3D space and not a 3D shape.

According to a fourth aspect, the invention provides the ability tohandle partial data, as well as to perform consistently on scanned data.This allows implementation of a system that can go from scanned datainput directly to a database query with minimal human intervention. Witheven the best of present technology, it is difficult to get completewatertight solids from scanned data that precisely match the scannedobject. In the case of CAD objects, most of which have high genus andmany occluded surfaces, obtaining a complete scan that evenly samplespoints over the surfaces is simply impossible. Hence, matching and querymechanisms must be able to operate from limited information, i.e., pointdata or portions of surfaces.

According to a fifth aspect of the invention, many-to-many matching maybe used to align the corresponding decomposition from one medium (e.g.,the native CAD object) with that of other media (e.g., scanned data) andsimilar, but slightly different, CAD objects. The decomposition processof the present invention is consistent across these different mediatypes; however, the exact boundaries of the segmentations may varydepending on the quality of the data, perturbations due to 3D laserscanning or differences in the underlying geometric representation. Thiscreates a many-to-many matching problem in which subsets of segmentsfrom one object must be paired to subsets of the segments resulting fromthe decomposition of another object.

These and various other advantages and features of novelty thatcharacterize the invention are pointed out with particularity in theclaims annexed hereto and forming a part hereof. However, for a betterunderstanding of the invention, its advantages, and the objects obtainedby its use, reference should be made to the drawings which form afurther part hereof, and to the accompanying descriptive matter, inwhich there is illustrated and described a preferred embodiment of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 a-1 c illustrate various distance functions for scale spacedecomposition.

FIGS. 2 a-2 d illustrate results of applying FEATURE-DECOMPOSITION (M,k) to a model using different distance functions D for k=2.

FIGS. 3 a-3 b illustrate a feature extraction process.

FIG. 4 illustrates extracted features from CAD models.

FIG. 5 illustrates extracted features from CAD models with 1% Gaussiannoise applied to each point of the model.

FIG. 6 illustrates extracted features from CAD models with 2% Gaussiannoise applied to each point of the model.

FIGS. 7 a-7 b illustrate acquisition processes where case (a) issubstantially more difficult than case (b).

FIG. 8 illustrates correspondence of two selected extracted features forthe full scan models, single scan models and models obtained from exactrepresentation (ACIS model).

FIG. 9 illustrates examples of the models from the functionalclassification dataset.

FIG. 10 is a precision-recall graph for retrieval experiments usingvarious techniques.

FIGS. 11 a-11C illustrate variable fidelity data sets.

FIGS. 12 a-12 b illustrate precision-recall graphs of variable fidelitydata sets.

FIG. 13 illustrates retrieval experiments using partial and scanned datawherein the five closest models were retrieved from the database.

FIG. 14 illustrates many-to-many matching.

FIG. 15 illustrates the results of matching between GOODPART andBADPART, with matched features (leafs of decomposition trees) havingsimilar shades.

FIG. 16 is a flow-chart illustrating the steps of the method ofsearching a database.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

This invention develops a feature decomposition method that can beparameterized and is tuned to extract local feature configurations ofengineering significance. The present invention also addresses theproblem of partial matching in the context of acquired data and presentsan end-to-end methodology for evaluation.

It is common in engineering communities for the term, “feature” to beused to refer to machining features (i.e., holes, pockets, slots) orother local geometric or topological characteristics of interest,depending on the domain (i.e., assembly surfaces, molding lines, etc).In the context of this patent application, “feature” will be used as anintrinsic property of the 3D shape, which may encompass local geometryand topology. Depending on the choice of function to parameterize themulti-scale decomposition, these local features could correspond todesign or manufacturing operations, machining features or assemblysurfaces, etc.

I. Sub-Space Clustering and Scale-Space Decomposition

During the last decade, hierarchical segmentation has become recognizedas a powerful tool for designing efficient algorithms. The most commonform of such hierarchical segmentation is the scale-space decompositionin computer vision. Intuitively, an inherent property of real-worldobjects is that they only exist as meaningful entities over certainranges of scale. The fact that objects in the world appear in differentways depending on the scale of observation has important implications if one aims at describing them. Specifically, the need for multi-scalerepresentation arises when designing methods for automatically analyzingand deriving information from real-world measurements.

In the context of solid models, the notion of scale can be simplified interms of the levels of 3D features rather than the CAD literature.Namely, given an object

we are interested in partitioning

into k features

₁ . . .

_(k) with

_(i)∩

_(j)=518 , for 1≦i<j≦k, and

=∪_(i)

_(i) subject to maximization of some coherence measure, f(

_(i)), defined on the 3D elements forming each

_(i). At a finer scale, each feature

_(i) will be decomposed into j=1 . . . , k sub-features, subject to themaximization of some coherence measures.

There are three central components in the aforementioned process: thenumber of components at each scale of decomposition, k; the featurecoherence function f(.): and the number of scales of the decompositionprocess, l. In most pattern recognition applications, k is a knowncontrol parameter. If models

and

are topologically similar, the k major components at every scale shouldalso be similar. The coherence function f(

^(i)) will assign an overall metric to the quality of 3D elementsparticipating in the construction of feature

^(i). Finally, the depth of decomposition will be controlled dependingon the quality of a feature in comparison to all its sub-features.

Specifically, assume

^(i) represents a feature at scale i, and

₁ ^(i+1), . . . ,

_(j) ^(i+1), for j≦k represent its sub- features at scale i+1. Thedecomposition process should proceed to scale i+1 with respect tofeature

^(i) if and only if f(

^(i+1))≦f(

₁ ^(i+1))+f(

₂ ^(i+1))+. . . +f

_(j) ^(i+1)). This simple criterion for multi-scale expansion at everyfeature has its roots in information theory. It is in fact motivated bya linear form similar to entropy of feature

as opposed to its sub-features

₁ ^(i+1), . . . ,

_(j) ^(i+1). In the end, a set of the leaf nodes in a decomposition treewould correspond to the final features of a given model.

H. Distance Function

A 3D model

is given in polyhedral representation (models in VRML format were usedin the experiments). This model is decomposed into k sub-features usingscale-space decomposition. The application of scale-space decompositionrequires some distance function

( . . . ) that captures the affine invariant structure of a model M. Theshortest-path metric δ( . . . ) (geodesic distance [62]) on thetriangulation of

with respect to points {v₁. . . , v_(n)}, is one such function. In thiscase, the distance function

(u, v)=δ(u, v) would be the length of the shortest path distance on thetriangulated surface between u and v for all u, v ∈

.

In our previous work [10] metric δ( . . . ) was successfully used forscale-space decomposition. The experimental results showed that themeasure δ( . . . ) successfully captures affine structure of the model

and produces meaningful decompositions. The problem with such a distancemeasure is that it captures global information of the model. Even smallperturbations of the model

may cause the distance function

( . . . ) to vary significantly, which in its turn, changes extractedfeatures. Further, using geodesic distance as a measure fordecomposition does not tolerate small perturbations (i.e., laser-scanneddata) very well. FIGS. 1 a-1 c illustrate several distance functionsthat could be used in multi-scale decomposition. Specifically, FIG. 1(a) shows a geodesic distance function (weight of the shortest pathbetween points) between points p₁ and p₂: FIG. 1( b) illustrates angularshortest path (weight of the shortest path computed using an angularmeasure) distance between faces t₁ and t₂; FIG. 1( c) shows maximumangle on angular shortest path distance function (described below)between faces t₁ and t₂.

Due to the above shortcomings of the geodesic distance measure, a newdistance function is introduced for use in the multi-scale decompositionprocess. The new distance function is computed with respect to thetriangular faces of the model

(t₁, . . . , t_(n)). Here, and in the rest of the patent application, 72denotes the number of triangles in the model. The angular shortest pathbetween two triangular faces t_(i) and t_(j) is defined to be theshortest path on the surface of the model which is computed in terms ofangular difference between faces.

FIG. 16 shows a flow-chart illustrating the steps of the method ofsearching a database. In step 110, a query model is provided to search adatabase. In step 112, a first set of values based on predeterminedproperties of the query model is determined. In step 114, the first setof values is compared to the definitions for classification. In step116, the query model is indexed, classified or at least partiallymatched with one or more training models based on the comparing step.

FIG. 1( c) shows a maximum angle on the angular shortest path betweenthe faces t₁ and t₂. Specifically, let t_(i)

t_(j) denote the angular shortest path (t_(i), t_(m), t_(t), . . . ,t_(j)) between faces t_(i) and t_(j). And let t_(m)→t_(i) ∈t_(i)

t_(j) denote two adjacent triangular faces t_(m) and t_(t) on theangular shortest path t_(i)

t_(j). Then, the distance function is defined as:

$\begin{matrix}{{\left( {t_{i},t_{j}} \right)} = {\max\limits_{t_{m}->{t_{l} \in {t_{i}\mspace{14mu} \ldots \mspace{14mu} t_{j}}}}{{\angle \left( {t_{m},t_{l}} \right)}.}}} & (1)\end{matrix}$

Intuitively, distance

(t_(i), t_(j)) is the maximum angle between adjacent faces on theangular shortest path between t_(i) and t_(j). The rationale behind suchmeasure is to quantify the smoothness of the surface—a small anglebetween adjacent faces correspond to smooth surface.

Observe that by construction the matrix

_(m)=|

(t_(i), t_(j))|n×n is symmetric. Distance measure

is not a metric function, but it captures the geometric structure of themodel

Such an angular distance measure has the same properties as the geodesicdistance function used in the previous work. As a result, introductionof the new distance measure for decomposition does not violate anystatements made in [10] and all of the theorems would still hold.

III. Decomposition Algorithm

Let v_(i) be the i^(th) row (or column) in

Then v_(i) is an n-dimensional vector characterizing the distancestructure of face t_(i) in model

. The problem of decomposing model

into its k most significant features

₁, . . . ,

_(k) is closely related to k-dimensional subspace clustering (k-DSC),k-DSC and gives a set of distance vectors v₁, . . . , v_(n), where theobjective is to find a k-dimensional subspace S that minimizes thequantity:

$\begin{matrix}{\sqrt{\sum\limits_{1 \leq i \leq n}{d\left( {v_{i},} \right)}^{2}},} & (2)\end{matrix}$

where d(v_(i),

) corresponds to the smallest distance between v_(i) and any member ofS. In practice, i f S is given, then

₁, . . . ,

_(k) can be computed using the principle components {c₁, . . . , c_(k)}k--dimensional subspace S [63]. These k vectors will also form a basisfor S. Specifically, t_(i) will belong to the feature

_(j) if the angle between v_(i) and c_(j) is the smallest among allbasis vectors in {c₁, . . . , c_(k)}. i.e., the triangular face t_(i)that corresponds to the vector v_(i) will belong to the feature vector

_(j) if the angle between v_(i) and c_(j) vectors is the smallestcompared to all other basis vectors.

Singular value decomposition (SVD) clustering [63] is used to constructthe subspace S, which is the optimal solution of k-DSC. First, observethat the symmetric matrix

∈

^(n×n) has an SVD-decomposition of the form:

=U ΣV^(T)  (3)

where U, V ∈

^(n×n) are orthogonal matrices and

Σ=Diag(σ₁, σ₂, . . . , σ_(n)),  (4)

with σ₁≧σ₂≧. . . ≧σ_(n′)≧0, σ_(n′+1)=. . . =σ_(n)=0, n′≦n.

The order k compression matrix is defined as

^((k)) of

, for k ≦n′ as:

^((k))=UDiag(σ₁, . . . , σ_(k), 0, . . . , 0)V^(T.)

Then, theorem 1 [follows from Eckart-Young Theorem [64]].

$\begin{matrix}{{{ - ^{(k)}}}_{2} = {\min\limits_{{{rank}{(H)}} = k}{{{ - H}}_{2}.}}} & (6)\end{matrix}$

This states that matrix D^((k)) is the best approximation to

among all matrices of rank k. The set S=range(D^((k)) (S) is the rangeof matrix D^((k)), the subspace spanned by the columns of matrix(D^((k))) is the optimal solution to k-DSC problem.

Algorithm 1 summarizes one phase of the scale-space decomposition of

into its k most significant features,

₁, . . . ,

_(k). Algorithm 1 returns the partitioning of

by placing each face t_(i) in

into one of the partitions

_(j), such that the angle between vector t_(i) and basis vector c_(j)corresponding to the partition

_(j) is minimized. FIGS. 2 b-2 d show three decomposition trees of themodel—using (b) geodesic distance, (c) angular shortest path and (d)maximum angle on angular shortest path measures. Note that the presenteddecomposition trees are not full and the leaf nodes of the trees may notcorrespond to the actual final features extracted from this model.

Algorithm 1 FEATURE-DECOMPOSITION( 

 , k) 1: Construct the distance matrix 

 ∈ 

2: Compute the SVD decomposition 

 = UΣV^(T), with Σ = Diag(σ₁, σ₂, ...,  σ_(n)). 3: Compute the order kcompression matrix 

 ^((k)) = UDiag(σ₁, ..., σ_(k), 0, ...,  0)V^(T). 4: Let c_(j) denotethe j^(th) column of 

 ^((k)), for j = 1, ..., k, and form  sub-feature 

 _(j) as the union of faces t_(i) ∈ 

 with d(t_(i), S) = d(t_(i), c_(j)). 5: Return the set { 

 ₁, ..., 

 _(k)}.

The bottleneck of Algorithm 1 is the O(n³) SVD decomposition, for a n×nmatrix. The polyhedral representation of a model provides a planar graphof a 2

manifold. If only neighboring vertices are considered in theconstruction of the distance matrix

, the number of non-zero entries in

would be at most 3, (due to planarity of the graph). Computing the SVDdecomposition for sparse matrices is much faster and takesO(mn)+O(mM(n)) [65 ]. Where m is the maximum number of matrix-vectorcomputations required and M(n) is the cost of matrix-vector computationsof the form

x., since

is a planner map and

is a sparse matrix, M(n)=O(n) and m=O(n).

IV. Controlling the Decomposition Process

The decomposition process as previously presented does not allow for anexplicit mechanism to stop the indefinite subdivision of a feature.Clearly, one could use a prescribed value to control the decompositiondepth of the feature trees, i.e., the decomposition process will bestopped when a root branch in feature decomposition tree reaches a givendepth. This section provides an overview of a mechanism that willcontrol the feature decomposition. Intuitively, the use of this controlmechanism will terminate the decomposition process only when allcoherent features are extracted. FIG. 4 shows the results ofdecomposition process on selected CAD models, including partial ones.

Let

be the original model's face set. Assume in the decomposition process afeature

₁ in

can be decomposed into sub-features

₂ and

₄₃ (e.g., without loss of generality assume that feature

_(i) is bisected). The decomposition of the feature

into sub-features

₂ and

₃ is said to be significant if the angular distance between componentsof

₂ and

₃ is large. Formally, this condition could be expressed as follows:

∀t_(i)∈

₂, t_(j)∈

₃ ∃t_(m→t) _(t)∈t_(i)

t_(j)s.t.

t_(m) ∈

₂

t_(i)∈

₃

(t_(m), t_(l))=

(t_(i), t_(j)), i.e., if the angular shortest path between t_(i) ∈

₂ and t_(j) ∈

₃ contains two faces t_(m), and t_(t) (from

₂ and

₃ respectively) with large angular distance, then

₁ should be decomposed into

₂ and

₃. Intuitively, if

₁ is smooth it should not be bisected any further. On the other hand, ifthe discrepancy between the neighboring triangles in

₁ is significant,

₁ should be bisected.

V. Examples

The feature extraction process was performed on a number of CAD modelsin polyhedral representation. These models were converted from ACISformat, which is exact representation format. As a result, all of themodels have a nice structure (i.e., no missing faces).

In the experiments, the qualities of features extracted were examinedusing the FEATURE-DECOMPOSITION (

,k) algorithm. To accomplish this, FEATURE-DECOMPOSITION (

,k) is recursively applied to each model for k=2. Once a decompositiontree is obtained, the last layer of the decomposition tree (leaf nodes)is said to be a set of extracted features. Note that the union of thefeatures (leaf nodes) is equivalent to the surface of the entire model.Refer to FIGS. 3 a-3 b for an illustration of the feature extractionprocess. For illustrative purposes, only a subset of extracted featuresis shown in FIG. 3( b). The features shown in FIG. 3( a) do notcorrespond to the leaf nodes in FIG. 3( b). The actual decompositiontree is quite large for this model.

1. Feature Decomposition on CAD Data

FIG. 4 shows extracted features for several models. These images arepresented in order to illustrate the type of features that the techniquecan extract. Each feature corresponds to a relatively smooth surface onthe model. If there is a significant angular difference on the surface,then it gets decomposed into separate features. Any closed smoothsurfaces (i.e., hole) are decomposed into two (i.e., hole) or more(i.e., surface is concave) features.

In addition, partial data from these models was created. Each model wasintersected with several planes and only a part of the model (on oneside of the plane) was saved. As a result, a number of partial objectswere obtained which enabled analysis of the performance of theFEATURE-DECOMPOSITION (

,k) algorithm on the models where only partial data is available.Illustrations of extracted features are found in FIG. 4. For a typicalCAD model, scale-space feature decomposition with max-angle distancemeasurement produces over 150 features. Pictures of entire feature setswere omitted for the sake of space.

2. Feature Decomposition on Noisy Data

In order to simulate small perturbations produced from capturing theobject using 3D laser scan, Gaussian noise was applied to each point ofthe models presented in the last section. Gaussian Noise with standarddeviation of 1% and 2% from the standard deviation of all points in themodel was used. Then the features were extracted using theFEATURE-DECOMPOSITION (M, k) algorithm. The illustrations of theextracted features can be found in FIGS. 5 and 6. Similar to the CADmodels presented above, partial models for this data set were generated.Note that it is possible for separate features to be assigned visuallysimilar shads, making them appear to be the same features.

3. Feature Decomposition on Acquired Models

It has been established that the feature extraction procedure allowsrelevant subsets of a model that reflect the complexity of its 3Dstructure to be obtained. The next experiment was aimed at assessingwhether the technique is capable of handling models that were obtainedusing a 3D digitizer—a full 3D view (FIG. 7( b)) and a partial 3D view(FIG. 7( a)) of 3D objects. Such data is known to be very noisy, oftenwith broken connectivity and missing faces. Ideally, one would like tobe able to take a single scan of a 3D CAD model, decompose it intofeatures, and select models from the database that contain the samefeature arrangements. Three CAD parts were used to create six 3Dmodels—full and partial (one scan) for each CAD part. Once the pointclouds were obtained, they were faceted, and features were extractedusing the FEATURE-DECOMPOSITION (M, k) algorithm.

FIG. 8 shows correspondence between extracted features for fully andpartially scanned models as well as models obtained from exactrepresentations. Note that in some cases one feature from one model(i.e., full scan) can correspond to multiple features from another model(i.e., single scan).

4. Matching Experiment

In order to test whether features extracted using the scale-spacetechnique with max-angle distance measurement can be used in retrievalof solid models, the following matching experiment was conducted. Threeretrieval techniques were used in evaluation: Reeb Graph, originalscale-space and max-angle scale-space.

The Reeb Graph based technique was introduced by Hilaga et al. [31].This technique was designed for shape models and is based on identifyingcertain regions of a model (i.e., feature) and combining them into ahierarchical graph structure. Then, a graph matching technique is usedto obtain similarity values for corresponding models. This approachperforms very well if the overall gross shapes of the models aresimilar.

The original scale-space technique used geodesic distance for thedistance function. By “max-angle scale-space, ” is meant the featureextraction approach described herein. Although this approach does nothave a matching technique specifically designed for it, a simplesub-graph isomorphism approach was employed to assess the similarity ofconstructed feature graphs.

All three techniques were evaluated on one dataset of solid models whichis described below. In order to illustrate the results of theexperiment, precision-recall plots were constructed as will be describedbelow.

A. Matching Approach

For simplicity, a variation on a classical sub-graph isomorphismalgorithm is used to assess the similarity of the feature adjacencygraphs: leaf nodes (features) in the decomposition tree become nodes inthe graph, and edges indicate adjacency of the features on the surfaceof the model. A hill-climbing algorithm with random restarts was used inthe implementation of the sub-graph isomorphism technique. A largestcommon subgraph algorithm, as described in [6, 4, 5, 66], was used inthe implementation of the subgraph isomorphism technique. Thiswell-known approach to graph matching was used to show that the featuregraphs constructed using max-angle distance measurement carry relevantinformation about the structure of the models and could be used toassess similarities between 3D CAD models. In reality, a moresophisticated graph matching algorithm should be used to yield evenhigher accuracy in matching. As the experimental results suggest, such asophisticated graph matching algorithm should be able to allowmany-to-many matching of the nodes within the feature graphs.

B. Dataset

The dataset used in this experiment consists of seven groups of models.Seventy models are hand classified by their role in mechanical systems.For instance, brackets are overhanging members that project from astructure and are usually designed to support a vertical load or tostrengthen an angle. Linkage arms are motion-transferring componentsfrom the spectrometer assembly. Nuts, screws, and blots are commonlyused fasteners. FIG. 9 shows a sample of this dataset, and Table 1 showsa brief summary of this dataset.

TABLE 1 Statistics of Functional Dataset #Models Avg. #Faces Ave.#Polygons Avg. SAT size Avg. STEP size Avg. VRML size Brackets 9 45 911 56 KB 100 KB  41 KB Gears 12 169 4045 458 KB 525 KB 191 KB Housings 6218 5141 300 KB 450 KB 250 KB Linkage Arms 13 30 1282  62 KB 100 KB  57KB Nuts 7 8 518  13 KB  19 KB  31 KB Screws and Blots 18 15 431  18 KB 30 KB  21 KB Springs 5 161 7933 620 KB 960 KB 440 KB Total 70

C. Precision-Recall Measure

The performance of various retrieval techniques was evaluated by thek-nearest neighbor classification (kNN), and conventional recall andprecision measures for evaluating information retrieval systems. Therecall and precision values are computed at different threshold valuesof parameter k using the following formulas:

${recall} = \frac{{Retrieved}\mspace{14mu} {and}\mspace{14mu} {Relevant}\mspace{14mu} {models}}{{Relevant}\mspace{14mu} {models}}$${precision} = \frac{{Retrieved}\mspace{14mu} {and}\mspace{14mu} {Relevant}\mspace{14mu} {models}}{{Retrieved}\mspace{14mu} {models}}$

The k NN classification labels a query model with the categories of itsk closest neighbors, where k is the threshold for classification. Thenumbers of labeled categories potentially increase and decrease withrespect to k.

Under this experimental setting, the factors of recall and precisioncomputation become:

Relevant models: The number of models that fall in to same category asthe query model.

Retrieved models: The number of models returned by a query.

Retrieved and Relevant models: The number of models returned and thatfell into the same category as the query model.

Recall and precision values were first computed per model at different kvalues. For each k, the arithmetic mean of the recall and precisionacross all models in a dataset was used as a representative value. Toillustrate the results, precision is plotted against recall on differentdatasets and comparison techniques.

Ideally, a retrieval system should retrieve as many relevant models aspossible, both high precision as well as high recall are desirable. Aprecision-recall graph plots precision against recall. It shows thetrade-off between precision and recall. Trying to increase recall,typically, introduces more irrelevant models into the retrieved set,thereby reducing precision. Rightward and upward precision-recall curvesindicate better performance.

D. Matching Results

The precision-recall graphs for the dataset can be found in FIG. 10. Thelines 1 through 4 are:

1. A Reeb graph technique;

2. A scale-space technique with the max-angle distance function andsimple sub-graph isomorphism for matching;

3. Original scale-space technique with geodesic distance function; and

4. Random retrieval technique.

The random retrieval technique was simulated by choosing all modelsrandomly. It appears that the Reeb graph technique performs relativelybetter than both scale-space approaches, while scale-space techniquewith max-angle distance function outperforms the original scale-spacetechnique for this dataset. The results of this experiment show that theuse of a scale-space feature extraction technique with max-angledistance function results in meaningful decomposition that couldpotentially be used for matching of 3D CAD data.

E. Fidelity Experiments

Due to the approximated nature of shape models (polyhedralrepresentation), the fidelity of shape models depends on the granularityof the faceting process. In order to measure the effects of fidelityvariations on the feature extraction technique, a set of the followingexperiments was performed.

F. Variable Fidelity Dataset

A subset of models from the functional classification dataset (FIG. 9)was chosen for the fidelity experiments. A total of 40 CAD modelsclassified by part families were used. Each of them was faceted by ACISfor three instances with different normal tolerances (50, 15, 5),resulting in 120 models. FIG. 11 shows the mesh of an example modelunder different fidelity settings. Lowering the normal tolerance willcause the faceting component to approximate a parametric surface withmore polygons, hence increasing the fidelity of the resulting shapemodel. Ideally, a robust retrieval system should be indifferent tofidelity variations of meshes. Table 2 shows a brief summary of thisdataset

TABLE 2 Statistics of Variable Fidelity Dataset. Nu Average Average VRMLHig 40 18416 850 KB h 40 5908 275 KB Tota 120

G. Fidelity Experiment Using Original Scale-Space Technique

The precision-recall performance of the original scale-space technique(i.e., with a geodesic distance function) was measured on the variablefidelity dataset. A precision-recall plot was constructed for eachfidelity setting (low, normal, high). FIG. 12( a) presentsprecision-recall plots for various fidelity settings using the originalscale-space technique.

The experimental results show that the retrieval performance of theoriginal scale-Space technique improved as the mesh fidelity increased.This behavior is largely due to the fact that geodesic distance measureis affected by the mesh fidelity. As the mesh fidelity increases, thedistance measure is calculated more precisely and, as a result, improves“quality” of extracted features. This results in more accurate retrievalof CAD data.

H. Fidelity Experiment Using Multi-Scale Technique with Max-AngleDistance Function

Just like in the experiment for the original scale-space technique,precision-recall plots for each fidelity setting were constructed usinga scale-space retrieval technique with max-angle distance function. Inthis example, the simple sub-graph isomorphism algorithm is used formatching. FIG. 12( b) presents precision-recall plots for variousfidelity settings using a scale-space technique with max-angle distancefunction.

The results suggest that a scale-space technique with max-angle distancefunction is relatively invariant to the mesh fidelity. This is due tothe nature of the distance measure used in feature extraction. Sincedistance measure is angle based, the extracted features are preservedacross various fidelity settings. Indeed, increasing the mesh fidelitynormally affects smooth or flat surfaces, which are already beingsegmented as separate features. Furthermore, various fidelity settingsdo not affect right or rather large angles between surfaces on the meshmodels, which also preserve feature extracted using the scale-spacetechnique with max-angle distance function.

I. Partial Matching

This experiment was designed to test whether a simple sub-graphisomorphism can yield satisfactory retrieval results on scanned andpartial data. A total of nine models were used as query models for thisexperiment. The query models correspond to three actual physical parts(displayed in FIG. 13). For each physical part, three various 3D modelswere obtained—full scan and single scan models, and partial models inACIS format (exact representation). Removing some features from the fullmodels created the partial models obtained from exact representations,such that they would resemble single scan models of the correspondingphysical parts.

The database contained models from the dataset used in the matchingexperiment and full CAD models that correspond to the query models. Allof the objects in the database were converted from the ACIS format intopolyhedral representations. For each query model, k closest neighborsfrom the database were retrieved. The experimental results for k=5 arepresented in FIG. 13.

From FIG. 13, one may conclude that for only one physical part (the onein the middle), the desirable (correct) model was among five returnedmodels. For this physical part, for every variation of the models, thedesirable model was among the returned ones. Furthermore, if k is set to10, then 5 (out of 9) queries returned the correct model. Increasing kto 15, results in 7 (out of 9) correct queries, while k=20 returned thedesirable model among the returned ones for 9 (out of 9) queries.

The unsatisfactory performance of the max-angle scale-spacedecomposition technique with matching using sub-graph isomorphism can beexplained as follows. The model that resulted in correct queries for k=5(correct model was among returned ones) has a topologically distinctivefeature graph. As a result, the sub-graph isomorphism algorithm was ableto pick the correct model among all of the models in the database.Further, partial data resulted in partial feature graphs and, as aresult, the distance between a partial model and a full model becamelarge enough to diminish the retrieval capabilities. Lastly, whenscale-space decomposition is applied to scanned data, the perturbationsmay contribute to the extracted features (i.e., perturbations becomeextracted features). This issue can clearly affect performance of thesub-graph isomorphism on feature graphs.

i. Handling Acquired Models

When a 3D model of a CAD artifact, or any object (FIG. 7) is scanned,many irregularities are introduced. First of all, scanning produces apoint cloud; and turning such point clouds into reliable, watertight,meshes is a very active research problem. Further, “noise” can beintroduced in a number of ways. First, noise can be introduced by thescanner accuracy, where points may be sampled in such a way as todeviate from the nominal geometry. Second, there will be gaps and voids,such as are found on the inside surfaces of holes that are eitheroccluded or are parallel to the scanning laser's beam.

There are two ways to approach this problem. First, one could designtechniques based on the assumption that the model is completed thoughsome automated process or using vast amounts of human editing. Thiscould result in a watertight model; or at least one that is suitable forvisualization purposes. The second approach is to design techniques towork off of the partial data (FIG. 7( a)).

ii. Efficient Matching Algorithms

Given that input data will not be of identical quality to the data inthe database, features may not get segmented the same way across modelswith these different underlying representations. As shown in FIG. 14,features may get divided in to several features. Features from singlescan model (on the left, shown in red) may not match features from afull scan model (on the right, shown in red), while the unions of thefeatures (shown in green) may match. The way to address this is todevelop algorithms for many-to-many matching. For instance, a matchingtechnique with such properties could potentially be derived from aconventional many-to-many matching algorithm [47]. Efficiency is also aconcern, if these algorithms are to be used with the National DesignRepository database or in other interactive settings.

iii. Similarity Measures

Similarity measures need to be different in the presence of partial dataand many to-many feature correspondences. Previous work [10]successfully used a distance function that was based on a numericalvalue for each pair of features. These values were based on area andEuclidean distance measurements within features. FIG. 15 shows a sampleview of two models with matched regions. Depending on the data, exactcorrespondences may not be possible and that even segmentations intosingle features may rarely correspond with each other. Feature trees areobtained for each model using the FEATUREDECOMPOSITION (

, ^(k):) with geodesic distance function.

iv. Semantically Meaningful Features

Scale-space techniques may be used to extract features that more closelyresemble traditional CAD features (i.e., such as those found in the ISO10303 STEP AP 224 standard); and to exploit the possibility of usingscale-space features as signatures for indexing purposes. In summary, acomputationally practical approach has been introduced based onscale-space decomposition to automatically segment 3D models inpolyhedral representation into features that could be used for indexing,classification and matching. The decomposition is based on the localsurface structure of a model. As a result similar features can beextracted in the presence of partial model information and noisy data.In this way, the technique has been shown to consistently segmentpartial 3D views, noisy geometry and the data (both partial and noisy)acquired by 3D laser range scanners.

One of the significant aspects of this invention is to unite the notionof “feature” from the computer vision and graphics literature with the“features” of CAD/CAM. The specific measurement function behind theconcept of features in this invention is highly tuned to the efficientidentification of shape and topological categories. In one application,features obtained using this approach could be different fromtraditional CAD features and may be used to establish partialsimilarities between CAD models in polyhedral representation. Thescale-space technique can be parameterized using different measurementfunctions, enabling it to generate a variety of useful segmentations,including those that have semantic relevance to engineering andmanufacturing properties. Through experiments, locality-based featurerepresentation was shown to have useful capabilities that can beemployed for 3D matching purposes, including partial matching.Furthermore, the examples indicate that the scale-space decompositiontechnique can potentially be used on 3D models (in particular, partialmodels) generated from 3D data acquisition devices, such as laser rangescanners.

Scale-space techniques subsume all existing approaches to featureidentification by parameterizing the decomposition of the surface on amodel as a distance measure function. The concept of the measurefunction is highly generalizable, implying that all one needs to do isidentify the measure function intrinsic to the class of features ofinterest and provide it as a parameter to the scale-space algorithm.

REFERENCES

[1] Lindeberg, T., 1990. “Scale-space for discrete signals,” IEEE Trans.Pattern Anal. Mach. Intell., 12 (3), pp. 234-254.

[2] Han, J.-H., Regli, W. C., and Pratt, M. J., 2000. “Algorithms forfeature recognition from solid models: A status report,” IEEETransactions on Robotics and Automation, 16 (6) [December], pp. 782-796.

[3] Shah, J., Anderson, D., Kim, Y. S., and Joshi, S., 2001. “Adiscourse on geometric feature recognition from cad models,” ASMETransactions, the Journal of Computer and Information Science inEngineering, 1 (1) [March], pp. 41-51.

[4] Cicirello, V., and Regli, W., 2001. “Machining feature-basedcomparisons of mechanical parts,” In International Conference on ShapeModeling and Applications, ACM SIGGRAPH, the Computer Graphics Societyand EUROGRAPHICS, IEEE Computer Society Press, pp. 176-187.

[5] Cicirello, V., and Regli, W. C., 2002. “An approach to afeature-based comparison of solid models of machined parts,” ArtificialIntelligence for Engineering Design, Analysis, and Manufacturing(AIEDAM), 16 (5) [November], pp. 385-399.

[6] Ullmann, J. R., 1976, “An algorithm for subgraph isomorphism,” J.Assoc. Comput. Mach., 23, pp. 31-42.

[7] Iyer, N., Jayanti, S., Lou, K., Kalyanaraman, Y., and Ramani, K.,2005, “Three dimensional shape searching: State-of-the-art review andfuture trends,” Journal of Computing and Information Science inEngineering. In press.

[8] Veltkamp, R. C., and Tangelder, J. W., 2004, “A survey of contentbased 3d shape retrieval methods,” In Shape Modeling Applications.

[9] Cardone, A., Gupta, S. K., and Karnik, M., 2003, “A survey of shapesimilarity assessment algorithms for product design and manufacturingapplications,” Journal of Computing and Information Science inEngineering, 3 [Jun], pp. 109-118.

[10] Bespalov, D., Shokoufandeh, A., and Regli, W. C., 2003,“Scale-space representation of 3d models and topological matching,” InSymposium on Solid Modeling and Applications, pp. 208-215.

[11] Shapiro, L. G., and Haralick, R. M., 1981, “Structural descriptionsand inexact matching,” IEEE Transactions on Pattern Analysis and MachineIntelligence, 3 (5), pp. 504-519.

[12] Lamdan, Y., Schwartz, J. T., and Wolfson, H. J., 1990, “Affineinvariant model-based object recognition,” IEEE Transactions on PatternAnalysis and Machine Intelligence, 12 (5), pp. 578-598.

[13] Wolfson, H. J., 1990, “On curve matching,” IEEE Transactions onPattern Analysis and Machine Intelligence, 12 (5), pp. 483-489.

[14] Lamdan, Y., and Wolfson, H. J., 1988, “Geometric hashing: a generaland efficient model-based recognition scheme.” In Second InternationalConference on Computer Vision, pp. 238-249.

[15] Thompson, W. B., Riesenfeld, R. F., and Owen, J. C., 1996.“Determining the similarity of geometric models.” In Proceedings of theARPA Image Understanding Workshop.

[16] W. B. Thompson, Owen, J., de St. Germain, H., Stark Jr., S., andHenderson, T., 1999. “Feature-based reverse engineering of mechanicalparts.” IEEE Transactions on Robotics and Automation, 12 (1) [Feburary],pp. 57-66.

[17] Gupta, A., and Jain, R., 1997, “Visual information retrieval,”Communications of the ACM, 40 (5) [May], pp. 7 1-79.

[18] Talukder, A., and Casasent, D., 1998, “Nonlinear features forclassification and pose estimation of machined parts from single views,”In Proc. of the SPIE, Vol. 3522, SPIE, pp. 16-27.

[19] Sipe, M., and Casasent, D., 1999, “Global feature space neuralnetwork for active object recognition,” In Int'l Joint Conference onNeural Networks.

[20] Shokoufandeh, A., Marsic, I., and Dickinson, S., 1999, “View-basedobject recognition using saliency maps,” Image and Vision Computing, 17,pp. 445-460.

[21] Murase, H., and Nayar, S., 1995, “Visual learning and recognitionof 3-D objects from appearance,” International Journal of ComputerVision, 14, pp. 5-24.

[22] Sossa, H., and Horaud, R., 1992, “Model indexing: The graph-hashingapproach,” In Proceedings, IEEE CVPR, pp. 811-814.

[23] Sengupta, K., and Boyer, K., 1996, “Using spectral features formodelbase partitioning,” In Proceedings, International Conference onPattern Recognition.

[24] Shapiro, L., and Haralick, R., 1981, “Structural descriptions andinexact matching,” IEEE Transactions on Pattern Analysis and MachineIntelligence, pp. 504-519.

[25] Eshera, M., and Fu, K., 1986, “An image understanding system usingattributed relational graphs for image analysis,” IEEE Transactions onPattern Analysis and Machine Intelligence, pp. 604-618.

[26] Pelillo, M., Siddiqi, K., and Zucker, S. W., 1998, “Matchinghierarchical structures using association graphs,” In Fifth EuropeanConference on Computer Vision, vol. 2, pp. 3-16.

[27] S.Tirthapura, D.Sharvit, P., and B.B.Kimia, 1998, “Indexing basedon edit-distance matching of shape graphs,” In SPIE Proceedings onMultimedia Storage and Archiving Systems III, pp. 25-36.

[28] Zhang, K., Wang, J. T. L., and Shasha, D., 1995, “On the editingdistance between undirected acyclic graphs and related problems,” InProceedings of the 6th Annual Symposium on Combinatorial PatternMatching, Springer-Verlag, Berlin, pp. 395-407.

[29] Zhang, K., Shasha, D., and Wang, J. T.-L., 1994, “Approximate treematching in the presence of variable length don't cares,” J. Algorithms,16 (1), pp. 33-66.

[30] Osada, R., Funkhouser, T., Chazelle, B., and Dobkin, D., 2002,“Shape distributions,” ACM Transactions on Graphics, 21 (4) [Oct], pp.807-832.

[31] Hilaga, M., Shinagawa, Y., Kohmura, T., and Kunii, T. L., 2001,“Topology matching for fully automatic similarity estimation of 3dshapes,” In SIGGRAPH, ACM, ACM Press, pp. 203-212.

[32] Tung, T., and Schmitt, F., 2004, “Augmented reeb graphs forcontent-based retrieval of 3d mesh models,” In Shape ModelingApplications.

[33] Kazhdan, M., Funkhouser, T., and Rusinkiewicz, S., 2003, “Rotationinvariant spherical harmonic representation of 3d shape descriptors,” InEurographics/ACM SIGGRAPH symposium on Geometry processing, EurographicsAssociation, pp. 156-164.

[34] Novotni, M., and Klein, R., 2004, “Shape retrieval using 3d zernikedescriptors,” Computer Aided Design, 36 (11) [Sep], pp. 1047-1062.

[35] Kazhdan, M., Chazelle, B., Dobkin, D., Funkhouser, T., andRusinkiewicz, S., 2003, “A reflective symmetry descriptor for 3dmodels,” Algorithmica, 38 (2) [Nov], pp. 201-225.

[36] Kazhdan, M., Funkhouser, T., and Rusinkiewicz, S., 2004, “Shapematching and anisotropy,” ACM Transactions on Graphics (SIGGRAPH) [Aug].

[37] Shilane, P., Min, P., Kazhdan, M., and Funkhouser, T., 2004, “ThePrinceton Shape Benchmark,” In Shape Modeling Applications, IEEEComputer Society Press, pp. 167-180.

[38] Shah, J. J., and M antyla, M., 1995, Parametric and Feature-basedCAD/CAM, John Wiley and Sons, Inc., New York, New York. ISBN0-471-00214-3.

[39] Ji, Q., and Marefat, M. M., 1997, “Machine interpretation of caddata for manufacturing applications,” Computing Surveys, 29 (3)[September], pp. 264-311.

[40] Allada, V., and Anand, S., 1995, “Feature-based modeling approachesfor integrated manufacturing: State-of-the-art survey and futureresearch directions,” International Journal of Computer IntegratedManufacturing, 8 (6), pp. 411-440.

[41] Kyprianou, L. K., 1980, Shape Classification in Computer AidedDesign. PhD thesis, Christ College, University of Cambridge, Cambridge,United Kingdom, July.

[42] Snead, C. S., 1989, Group Technology: Foundations for CompetitiveManufacturing, Van Nostrand Reinhold, New York.

[43] Ames, A. L., 1991, “Production ready feature recognition basedautomatic group technology part coding,” In Symposium on Solid ModelingFoundations and CAD/CAM Applications, J. Rossignac and J. Turner, Eds.,ACM SIGGRAPH, ACM Press, pp. 161-169.

[44] Shah, J. J., and Bhatnagar, A., 1989, “Group technologyclassification from feature-based geometric models,” ManufacturingReview, 2 (3), pp. 204-213.

[45] Ham, I., Marion, D., and Rubinovich, J., 1986, “Developing a grouptechnology coding and classification scheme,” Industrial Engineering, 18(7), pp. 90-97.

[46] Funkhouser, T., Kazhdan, M., Shilane, P., Min, P., Kiefer, W., Tal,A., Rusinkiewicz, S., and Dobkin, D., 2004, “Modeling by example,” InSIGGRAPH, ACM.

[47] Cornea, N. D., Demirci, M. F., Silver, D., Shokoufandeh, A.,Dickinson, S. J., and Kantor, P. B., 2005, “3d object retrieval usingmany-to-many matching of curve skeletons,” In International Conferenceon Shape Modeling and Applications, ACM.

[48] Elinson, A., Nau, D. S., and Regli, W. C., 1997, “Feature-basedsimilarity assessment of solid models,” In Fourth Symposium on SolidModeling and Applications, C. Hoffman and W. Bronsvoort, Eds., ACM, ACMPress, pp. 297-3 10. Atlanta, GA.

[49] Regli, W. C., and Cicirello, V., 2000, “Managing digital librariesfor computer-aided design,” Computer Aided Design, 32 (2) [February],pp. 119-132. Special Issue on CAD After 2000. Mohsen Rezayat, GuestEditor.

[50] McWherter, D., Peabody, M., Shokoufandeh, A., and Regli, W., 2001,“Solid model databases: Techniques and empirical results,” ASME/ACMTransactions, The Journal of Computer and Information Science inEngineering, 1 (4) [December], pp. 300-310.

[51] Ramesh, M. M., Yip-Hoi, D., and Dutta, D., 2000, “A decompositionmethodology for machining feature extraction,” In ASME DesignEngineering Technical Conferences, Computers in Engineering Conference,American Association of Mechanical Engineers, ASME Press. DETC2000/CIE-14645.

[52] Sun, T.-L., Su, C.-J., Mayer, R. J., and Wysk, R. A., 1995, “Shapesimilarity assessment of mechanical parts based on solid models,” InASME Design for Manufacturing Conference, Symposium on ComputerIntegrated Concurrent Design, R. Gadh, Ed., ASME, pp. 953-962.

[53] Cohen, K. D., 1996, Feature extraction and pattern analysis ofthree-dimensional objects. Master's thesis, Dartmouth College, ThayerSchool of Engineering, Hanover, NH.

[54] Cybenko, G., Bhasin, A., and Cohen, K. D., 1997, “Patternrecognition of 3D CAD objects: Towards an electronic yellow pages ofmechanical parts,” Smart Engineering Systems Design, 1, pp. 1-13.

[55] Bespalov, D., Shokoufandeh, A., Regli, W. C., and Sun, W., 2003,“Scale-space representation and classification of 3d models,” ASME/ACMTransactions, Journal of Computing and Information Science inEngineering, 3 [Dec], pp. 3 15-324.

[56] Bespalov, D., Shokoufandeh, A., Regli, W. C., and Sun, W., 2004,“Local feature extraction using scale-space decomposition,” In ASMEDesign Engineering Technical Conferences, Computers and Information inEngineering Conference (DETC 2004-57702).

[57] Bespalov, D., Shokoufandeh, A., Regli, W. C., and Sun, W., 2003,“Scale-space representation of 3d models and topological matching,” InEighth ACM symposium on Solid Modeling and Applications, pp. 208-215.

[58] Ip, C. Y., Sieger, L., Regli, W. C., and Shokoufandeh, A., 2003,“Automated learning of model classifications,” In Eighth ACM symposiumon Solid Modeling and Applications, pp. 322-27.

[59] Lou, K., Prabhakar, S.; and Ramani, K., 2004. “Content-basedthree-dimensional engineering shape search,” In International Conferenceon Data Engineering.

[60] Iyer, N.and Kalyanaraman, Y., Lou, K., Jayanti, S., and Ramani, K.,2003, “A reconfigurable, intelligent 3d engineering shape search systempart ii: Database indexing, retrieval and clustering,” In ASME DETC 2003Computers and Information in Engineering Conference.

[61] Iyer, N.and Kalyanaraman, Y., Lou, K., Jayanti, S., and Ramani, K.,2003, “A reconfigurable, intelligent 3d engineering shape search systempart i: Shape representation,” In ASME DETC 2003 Computers andInformation in Engineering Conference.

[62] Bredon, G. E., 1993, Topology and Geometry (Graduate Texts inMathematics, No 139). Springer Verlag.

[63] Thomasian, A., Castelli, V., and Li, C.-S., 1998, “Clustering andsingular value decomposition for approximate indexing in highdimensional spaces,” In The seventh international conference onInformation and knowledge management table of contents, pp. 201-207.

[64] Eckart, C., and Young, G., 1939, “A principle axis transformationfor non-hermitian matrices,” Bulletin of American Mathematical Society,45, pp. 118-121.

[65] Golub, G. H., and van Loan, C. F., 1989, Matrix Computations, JohnsHopkins Press.

[66] Cicirello, V. A., 1999, Intelligent retrieval of solid models,Master's thesis, Drexel

University, Geometric and Intelligent Computing Laboratory, Departmentof Mathematics and Computer Science, Philadelphia, PA 19104, June 1999.

1. A method of searching a database of training models using partialmatching a first set of values based on predetermined properties of aquery model, said method comprising the steps of: partially matchingsaid first set of values to a second set of values from a sub-graphisomorphism for said training models.
 2. (canceled)
 3. The method ofclaim 1, wherein said first set of values is obtained from a single scanof said query model.
 4. The method of claim 1, wherein said first set ofvalues is obtained from a plurality of different scans of said querymodel.
 5. The method of claim 1, wherein said first set of valuescomprises values for the entire query model.
 6. The method of claim 1,wherein said sub-graph isomorphism is generated using a largest commonsubgraph algorithm.
 7. The method of claim 1, wherein said sub-graphisomorphism is used to assess the similarity of feature adjacencygraphs.
 8. The method of claim 1, wherein determining the first set ofvalues comprises decomposing the query model into a plurality offeatures.
 9. The method of claim 8, wherein the second set of values isdetermined by decomposing the training models into a plurality offeatures.
 10. The method of claim 9, wherein the decomposing of afeature is stopped when a root branch in a feature decomposition treereaches a predetermined depth.
 11. The method of claim 9, wherein thedecomposing of a feature is stopped when the distance of the angularshortest path between two triangular faces on the query model ortraining model is less than a predetermined value.
 12. The method ofclaim 1, wherein the first set of values is determined by a 3D scan andthe second set of values is determined from CAD models.
 13. The methodof claim 1, wherein said comparing step comprises the step ofmany-to-many comparison of groups of features of the query model togroups of features of the models for training. 14-20. (canceled)
 21. Themethod of claim 1, wherein a hill-climbing algorithm with randomrestarts is used to implement the sub-graph isomorphism.
 22. The methodof claim 1, wherein recall plots are constructed using a scale-spaceretrieval technique with max-angle distance function.
 23. The method ofclaim 22, wherein a plurality of recall plots are constructed eachassociated with a fidelity setting.
 24. The method of claim 1, whereinscale-space decomposition is used to extract features from the querymodel and said extracted features are used to provide said first set ofvalues.
 25. The method of claim 1, wherein locality-based featurerepresentation is used to represent features from the query model andsaid represented features are used to provide said first set of values.